
 
# 1.导包；
import rclpy
from rclpy.node import Node
from std_msgs.msg import String

 
class ExceptionListener(Node):
    def __init__(self):
        super().__init__('exception_listener')
        # 创建订阅者，订阅 '/exception_data' 话题
        self.subscription = self.create_subscription(
            String,
            '/exception_data',
            self.listener_callback,
            10  # QoS 设置
        )

    def listener_callback(self, msg):
        # 处理接收到的异常信息
        self.get_logger().info(f"收到异常信息: {msg.data}")

def main(args=None):
    rclpy.init(args=args)  # 初始化 ROS 2 系统
    exception_listener = ExceptionListener()  # 创建节点实例
    rclpy.spin(exception_listener)  # 启动事件循环，处理回调
    exception_listener.destroy_node()  # 销毁节点
    rclpy.shutdown()  # 关闭 ROS 2 系统

if __name__ == '__main__':
    main()